﻿using System;
using System.Collections.Generic;
using System.ServiceModel;
using MiniStock.Entities;
using MiniStock.Entities.Common.Query;
using MiniStock.Entities.Stock;

namespace MiniStock.ServiceFacade.Stock
{
    [ServiceContract]
    public interface IStockServiceFacade
    {
        #region Typed query contracts

        [OperationContract]
        Customer GetCustomer(Guid id);
        [OperationContract]
        List<Customer> ListCustomers(QueryToken query);

        [OperationContract]
        Product GetProduct(Guid id);
        [OperationContract]
        List<Product> ListProducts(QueryToken query);

        [OperationContract]
        Order GetOrder(Guid id);
        [OperationContract]
        List<Order> ListOrders(QueryToken query);
        #endregion

    }
}
